!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b3b77fe3-82bd-4bc2-a704-8c0d111a4f18",e._sentryDebugIdIdentifier="sentry-dbid-b3b77fe3-82bd-4bc2-a704-8c0d111a4f18")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1321],{11321:(e,t,s)=>{s.d(t,{A:()=>eR});var r=s(37876),l=s(14232),a=s(70654),i=s(57873),n=s(48762),o=s(62403),m=s(26630),d=s(33008),c=s(15023),x=s(69438),p=s(9369),u=s(14910),h=s(89099),g=s(19028),f=s(12404),j=s(38294),v=s(14694);let y=()=>{let e,{meal:t,cancellation:s}=(0,a.hy)(),l=!0===(0,n.WV)().hideNonRefundableSticker&&null!=s&&s.value.cancellationPolicy===f.Lc.NonRefundable;return(0,r.jsxs)("div",{children:[s&&!l&&(0,r.jsx)(a.zD,{included:(e=s.value.cancellationPolicy)===f.Lc.FreeCancellation||e===f.Lc.PartiallyRefundable,title:s.value.optionTitle,description:s.value.optionDescription,className:"flex items-center gap-x-2 flex-wrap"}),t&&(0,r.jsx)(a.zD,{included:t.value.included,title:t.value.optionTitle,description:t.value.optionDescription,className:"flex items-center gap-x-2 flex-wrap"})]})};var b=s(93201),N=s(35891),w=s(8786),P=s(51991);let R=({hiddenPlan:e,withoutButton:t})=>{let s=(0,h.useRouter)(),[l,i]=(0,m.ID)(!1),o=(0,N.kc)(),{tHotels:d}=(0,a.zg)(),{query:c}=s,x=c.error;if(0===e.discount.amount)return null;let p=(0,n.up)(o,{amount:e.discount.amount,currency:e.discount.currency},n.Ex.WithoutCents);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"border-t border-t-solid border-t-secondaryGrey rounded-b-[8px] px-3 py-2.5 sm:px-4 bg-[#f9f9fe] grid grid-cols-[1fr,auto] items-center gap-2 h-[99px]",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-[1.25rem] text-mediumDanger leading-[1.2] font-semibold",children:d(P.uC.isMember?"memberPrice":"vipPrice")}),(0,r.jsx)("p",{className:"text-[0.925rem] text-primaryFont font-normal max-w-[215px] leading-[1.2]",children:d.rich("unlockMemberPrice",{price:()=>(0,r.jsx)("span",{className:"whitespace-nowrap",children:p})})})]}),!t&&(0,r.jsx)(b.A,{onClick:()=>{i(!0)}})]}),(0,r.jsx)(w.A,{placement:"hidden-deal",open:l,handleClose:()=>{i(!1)},error:x})]})};var C=s(20274),k=s(84944),A=s(44712),S=s(81632);let F=e=>{let{roomType:t,featuredHiddenPlan:s,hiddenPlan:l,normalPlan:i,openSignInModal:o}=e,d=(0,A.q)(),x=s?.type||f.Ae.ShowPrice,p=s?.plan||i,u=s?.discountPercents,h=(0,n.WV)(),{searchRequest:g}=(0,S.Tj)(),{tHotels:w}=(0,a.zg)(),F=(0,N.kc)();if((0,m.uV)(()=>{x==f.Ae.ShowPrice&&(d.setIsFeaturedHiddenRoom(!0),d.setRoomPrice(T.netPrice))},[]),!p)return null;let T=(0,c.Lo)(h,p),H=!t?.isRunOfHouse&&h.hideTaxes,D=w(P.uC.isMember?"memberDealTitle":"vipMemberDealTitle");i&&t?.room?.title&&(D=t?.room?.title);let W=(0,c.$i)(h,g?.dates),I=(0,c.yS)(h,g?.guests?.rooms);return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{id:"room-1",onClick:o,className:(0,m.xW)("border border-solid border-secondaryGrey grid relative cursor-pointer h-full grid-rows-[auto,1fr,auto]",P.uC.isRoundedForm?"rounded-[8px]":""),children:[(0,r.jsxs)("div",{className:(0,m.xW)("relative overflow-hidden h-full max-h-[200px]",P.uC.isRoundedForm?"rounded-t-[8px]":""),children:[t?.room.photos[0]?(0,r.jsx)(j.A,{image:t.room.photos[0],size:{default:15,sm:100,md:80,lg:15},className:(0,m.xW)("rounded-b-0 h-[200px] blur-md",P.uC.isRoundedForm?"rounded-t-[8px]":""),style:{aspectRatio:"233/150",objectFit:"cover",position:"relative",width:"100%"}}):(0,r.jsx)("div",{className:"h-200 bg-secondaryGrey"}),(0,r.jsx)(v.gc2,{icon:v.Gv6,className:"text-white absolute left-[50%] top-[50%] translate-x-[-50%] translate-y-[-50%] w-14 h-14"})]}),(0,r.jsxs)("div",{className:"px-3 pt-3 pb-3 sm:px-4 sm:pb-4 flex flex-col gap-3 h-full",children:[(0,r.jsxs)("div",{className:"grid gap-2",children:[(0,r.jsx)("p",{className:"text-[1rem] leading-[120%] font-medium text-mediumDanger lg:leading-[140%] lg:text-[1.125rem]",children:D}),t?.runOfHouseDisclaimer&&(0,r.jsx)("div",{className:"text-[0.825rem] leading-[150%] font-normal text-primaryGreyFont lg:text-[0.875rem]",children:t?.runOfHouseDisclaimer}),!t?.runOfHouseDisclaimer&&(0,r.jsx)("p",{className:"text-[0.875rem] font-medium leading-[130%] text-primaryFont lg:leading-[1.35] lg:text-[1rem]",children:w("vipMemberDealDescription")}),t?.roomRateCommon&&(0,r.jsx)(C.A,{cssProps:"p-0 md:p-0 items-center",guests:t.roomRateCommon.guestsCount,message:t.roomRateCommon.sleepsMessage}),!t?.isRunOfHouse&&(0,r.jsx)(y,{}),x==f.Ae.SaveUpTo&&(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("p",{className:"text-[1.5rem] leading-[120%] font-semibold text-mediumDanger",children:p.totalPrice})})]}),(0,r.jsxs)("div",{className:"pt-2 mt-auto grid gap-1",children:[x==f.Ae.ShowPrice&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.A,{discountPercents:u&&u<10?u:void 0,className:"justify-self-start"}),(0,r.jsxs)("p",{className:"text-[1.5rem] leading-[120%] font-semibold text-mediumDanger",children:[(0,n.up)(F,T.netPrice),W&&(0,r.jsx)("span",{className:"text-primaryGreyFont text-[0.875rem] font-normal",children:I?`/ ${w("perNightPrice")}, `:w("perNightPrice")}),I&&(0,r.jsx)("span",{className:"text-primaryGreyFont text-[0.875rem] font-normal",children:W?w("perRoomPrice"):`/ ${w("perRoomPrice")}`}),p.debugText&&H&&(0,r.jsx)("span",{className:"text-[0.9rem] font-normal",children:p.debugText})]}),!H&&(0,r.jsx)("p",{className:"text-[0.825rem] leading-[150%] font-normal text-primaryGreyFont lg:text-[0.875rem]",children:p.totalPrice})]}),(0,r.jsx)(b.A,{className:"w-full mt-1"})]})]}),l&&(0,r.jsx)(R,{hiddenPlan:l,withoutButton:!0})]})})};var T=s(79807),H=s(72270),D=s(89642),W=s(15775),I=s(12037),L=s(13363);let M=e=>{let{modalName:t,open:s,onClose:l,handleReserve:a,buttonLabel:i,roomType:n}=e;return(0,r.jsx)(L.j,{modalName:t,open:s,onClose:l,className:"sm:w-[560px] max-sm:max-h-max h-full sm:h-max",headerClassName:"grid grid-cols-[1fr,auto] gap-2 items-center",headerComponent:(0,r.jsx)("p",{className:"text-[1rem] text-primaryFont font-medium text-center pl-9",children:n.room.title}),children:(0,r.jsx)(I.A,{roomType:n,handleReserve:()=>{a(),l()},buttonLabel:i,isRoomDetails:!1,className:"mt-[70px] mx-[-20px] overflow-auto"})})};var O=s(51678);let G=e=>{let{roomType:t,hotelData:s,onClose:l,onChooseRoom:i,onOpen:o,open:m}=e,{tHotels:d}=(0,a.zg)(),c=(0,a.nR)(),{handleReserve:x}=(0,O.A)(s,t,c?.externalSupplier),p=(0,a.t3)(),u=(0,a.xL)(),h=p.length>1||u.length>1;return c?(0,r.jsxs)("div",{className:"flex gap-2 flex-col",children:[(0,r.jsx)(n.sP,{className:"w-full",type:"button",onClick:e=>{i&&i(),e.stopPropagation(),h?o():x()},children:h?(0,r.jsx)(r.Fragment,{children:d("optionsAndReserve")}):(0,r.jsx)(r.Fragment,{children:t.callToAction})}),(0,r.jsx)(M,{modalName:`room-options-${t.room.id}`,roomType:t,buttonLabel:t.callToAction,open:m,onClose:l,handleReserve:x})]}):(0,r.jsx)(r.Fragment,{})};var z=s(90649);let V=({roomType:e,hotelData:t,isRecommended:s,onSelectedRoom:l,shouldShowSmokingWidget:i,isShouldUpdatePrice:o,id:d,isShouldUpdateCheapestPrice:c,style:x,forceShowPriceDetails:p})=>{let{room:h,lowStockWarning:g,noInventoryMessage:f,roomRateCommon:j}=e,{tHotels:b}=(0,a.zg)(),{tCommon:N}=(0,n.FC)(),[w,k]=(0,m.ID)(!1),A=(0,n.WV)(),S=(0,u.Wq)(),F=(0,u.GE)(),I=(0,a.nR)(),L=(0,u.CT)(),{handleReserve:M}=(0,O.A)(t,e,I?.externalSupplier),V=(0,a.t3)(),_=(0,a.xL)(),$=V.length>1||_.length>1,E=()=>k(!0),B=(0,a.kP)(h.maxAdults,h.maxChildren,L.adults,L.childrenAge||[],L.rooms),U=()=>{l&&l(e)};return(0,r.jsxs)("div",{id:d,style:x,onClick:U,className:(0,m.xW)("border border-solid flex flex-col",P.uC.isRoundedForm?"rounded-[8px]":"",e.featured||s?"border-primary":"border-secondaryGrey"),children:[(0,r.jsxs)("div",{onClick:$?E:M,className:(0,m.xW)("flex flex-col gap-3 relative px-3 pb-3 sm:px-4 sm:pb-4 cursor-pointer h-full w-full"),children:[(0,r.jsx)(W.A,{imgStyle:{borderRadius:e.featured||s?0:P.uC.isRoundedForm?"8px 8px 0 0":0,height:e.featured||s?160:200},data:h,hotelData:t,isRecommended:s,roomType:e,onSelectedRoom:U,exclusive:I?.exclusive}),(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsx)(T.A,{cssProps:"md:px-0",data:h,hideDescription:!0,shouldShowSmokingWidget:i}),e.runOfHouseDisclaimer&&(0,r.jsx)("div",{className:"text-[0.825rem] leading-[150%] font-normal text-primaryGreyFont lg:text-[0.875rem]",children:e.runOfHouseDisclaimer}),(0,r.jsx)(C.A,{cssProps:"md:px-0",guests:j.guestsCount,message:j.sleepsMessage}),(0,r.jsx)(r.Fragment,{children:!f&&!e.isRunOfHouse&&(0,r.jsx)(y,{})}),!e.isRunOfHouse&&(0,r.jsx)(D.A,{onSelectedRoom:U,roomType:e,hotelData:t,data:h,children:(0,r.jsxs)("p",{className:"text-[0.825rem] leading-[100%] w-full text-primary font-normal cursor-pointer flex items-center gap-1 hover:underline lg:leading-[120%] lg:text-[0.875rem]",children:[N("moreDetails"),(0,r.jsx)(v.gc2,{icon:v.XkK,size:"xs"})]})})]}),f&&(0,r.jsxs)("div",{className:"text-danger mt-auto",children:[(0,r.jsxs)("div",{className:"mb-2",children:[(0,r.jsx)("b",{children:f.title})," ",f.description&&(0,r.jsx)("span",{children:f.description})]}),B>L.rooms&&e.availableRooms>1&&(0,r.jsx)(n.sP,{className:"w-full",onClick:()=>{B>L.rooms&&F.performAction(S,{...L,rooms:B})},children:b("addRoomsButtonLabel",{rooms:B-L.rooms})})]}),!f&&(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"flex flex-col mt-auto gap-2",children:[(0,r.jsx)(H.A,{plan:I,specialPriceSticker:e.specialPriceSticker,isRunOfHouse:e.isRunOfHouse,isShouldUpdatePrice:o,isShouldUpdateCheapestPrice:c}),I&&(0,r.jsxs)("div",{className:"grid grid-cols-[1fr,auto] items-center gap-x-2",children:[(!A.hidePriceDetails||p)&&(0,r.jsx)(z.A,{onSelectedRoom:U,roomType:e,hotelData:t,plan:{plan:I,room:e},children:(0,r.jsxs)("p",{className:"text-[0.825rem] w-full leading-[100%] whitespace-nowrap text-primary font-normal cursor-pointer flex items-center gap-1 hover:underline lg:text-[0.875rem] lg:leading-[120%]",children:[b("openPriceDetailsLink"),(0,r.jsx)(v.gc2,{icon:v.XkK,size:"xs"})]})}),g&&(0,r.jsx)("p",{className:"text-[0.675rem] text-danger leading-[120%] font-medium",children:g})]}),(0,r.jsx)("div",{className:"flex flex-col gap-1",children:t&&(0,r.jsx)(G,{open:w,onClose:()=>k(!1),onChooseRoom:U,onOpen:E,roomType:e,hotelData:t})})]})})]}),e.hiddenPlan&&(0,r.jsx)(R,{hiddenPlan:e.hiddenPlan})]})},_=({data:e,searchRequest:t,hiddenPlan:s,openSignInModal:l,className:i})=>{let{tHotels:o}=(0,a.zg)(),d=(0,c.Y3)(),x=(0,a.xT)(e.roomRate),p=(0,N.kc)(),u=(0,n.WV)(),h=(0,c._N)(u,s||x);return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:(0,m.xW)("grid items-center",i,(u.hideTaxes,"grid-cols-[1fr,auto] gap-x-3")),children:[(0,r.jsxs)("div",{className:"grid",children:[(0,r.jsxs)("div",{className:"flex gap-2 overflow-hidden",children:[h&&(0,r.jsx)("p",{className:(0,m.xW)("text-[1.25rem] leading-[1.5rem] font-medium whitespace-nowrap",s?"text-mediumDanger":"text-primaryFont"),children:(0,n.up)(p,h.netPrice)}),s?(0,r.jsx)("p",{className:"text-[1rem] text-mediumDanger font-medium truncate",children:o(P.uC.isMember?"memberDealTitle":"vipMemberDealTitle")}):(0,r.jsx)("p",{className:"text-[1rem] text-primaryFont font-noram truncate",children:e.room.title})]}),!u.hideTaxes&&(0,r.jsx)("div",{className:"text-[0.825rem] leading-[150%] font-normal text-primaryGreyFont lg:text-[0.875rem]",children:x?.totalPrice})]}),s?(0,r.jsx)(b.A,{className:"h-auto py-[2px] sm:py-[9px] sm:h-[36px] px-[1rem]",onClick:l,disabledAnimation:!0}):(0,r.jsx)(n.sP,{className:"h-auto py-[2px] sm:py-[9px] sm:h-[36px] px-[1rem]",onClick:()=>{d?.handleScrollClick()},children:o("reserveRooms",{rooms:t.guests?.rooms})})]})})};var $=s(40356),E=s(29870),B=s(8692),U=s(3006),q=s(61884),K=s(53712),Y=s(11116),J=s(55492);let X=e=>{let{searchRequest:t,onMoreDeals:s,handleAddRoom:l,externalOfferPlacement:a}=e,i=(0,Y.Bx)(),{tHotels:o}=(0,U.zg)(),{salesContact:d}=(0,S.Tj)(),c=(0,J.M)(t);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:(0,m.xW)("bg-primary/10 p-6",P.uC.isRoundedForm?"rounded-md":""),children:[(0,r.jsxs)("div",{className:"flex flex-col items-center gap-y-2",children:[(0,r.jsx)("div",{className:"bg-primary/30 rounded-full relative h-[60px] w-[60px] flex items-center justify-center",children:(0,r.jsx)(v.gc2,{icon:v.mBD,className:"text-primaryFont w-[35px] h-[35px]"})}),c?(0,r.jsx)("p",{className:"text-center text-primary-font text-[1rem] max-w-[420px]",children:o("soldOutAddRoomMessage")}):(0,r.jsx)("p",{className:"text-center text-primary-font text-[1rem] max-w-[420px]",children:o("soldOutChangeDatesMessage")})]}),d&&(0,r.jsx)("div",{className:"flex justify-center text-center mt-3",children:(0,r.jsxs)(q.A,{href:`tel:${d.plainPhoneNumber}`,children:[(0,r.jsx)("p",{className:"text-primaryGreen text-[1.25rem] sm:text-[1.5rem] font-normal",children:o("phoneBlockSoldOutLabel")}),(0,r.jsx)("p",{className:"text-primaryFont text-[1.25rem] sm:text-[1.5rem] font-semibold",children:d.phoneNumber})]})}),(0,r.jsxs)("div",{className:"flex flex-col items-center gap-y-4 mt-3",children:[c&&(0,r.jsx)(n.sP,{className:"min-w-[285px]",onClick:l,children:o("addRoom")}),(0,r.jsxs)("div",{className:"w-full text-center",children:[c&&(0,r.jsx)("p",{className:"text-[1rem] text-primaryFont font-normal leading-[1.5] mb-2",children:o("availableRateOnPartnerSiteTitle")}),!i||0===i.roomRates.length&&(0,r.jsx)(n.sP,{className:"min-w-[285px]",onClick:s,children:o("soldOutMoreDealsAction")})]})]})]}),i&&(i.roomRates.length>0||i.checkPriceLinks.length>0)&&(0,r.jsx)(K.A,{data:i,title:o("checkGreatRatesOnPartnerWebsiteTitle"),placement:a})]})};var Q=s(49841),Z=s(80751),ee=s(93636),et=s(47597),es=s(47484),er=s(49700),el=s(72454),ea=s(95854);let ei=({hotelData:e,metaInformation:t})=>{let s=(0,N.kc)(),{tCommon:l}=(0,n.FC)(),a=t?.guestsTitle&&t?.nightsTitle?`${t.nightsTitle}, ${t.guestsTitle}`:void 0;return(0,r.jsx)(r.Fragment,{children:e.map(e=>{let t=e.basePriceMoney?(0,n.up)(s,{amount:e.basePriceMoney.amount,currency:e.basePriceMoney.currency}):null;return(0,r.jsx)(q.A,{href:e.hotelCard.url,target:"_blank",children:(0,r.jsxs)("div",{className:"grid grid-cols-[auto,1fr]",children:[(0,r.jsx)(er.km,{coverImage:e.hotelCard.coverImage,imageClassName:(0,m.xW)(P.uC.isRoundedForm?"rounded-tl-[10px] ltr:rounded-bl-[10px]":"rounded-none","max-h-full min-h-[125px] sm:min-h-[125px] md:min-h-[125px] lg:min-h-[125px] h-[175px] sm:h-[200px] w-[110px] xs:w-[135px] sm:w-[220px] md:w-[275px] lg:w-[220px] min-w-[unset] md:max-w-[unset] sm:min-w-[unset] sm:max-w-[unset] min-w-[unset] max-w-[unset]"),cssProps:(0,m.xW)("h-full sm:max-w-[220px] sm:min-w-[220px]","max-h-full min-h-[125px] sm:min-h-[125px] md:min-h-[125px] lg:min-h-[125px] h-[175px] sm:h-[200px] w-[110px] xs:w-[135px] sm:w-[220px] md:w-[275px] lg:w-[220px] md:min-w-[unset] md:max-w-[unset] sm:min-w-[unset] sm:max-w-[unset] min-w-[unset] max-w-[unset]")}),(0,r.jsxs)(er.NF,{cssProps:(0,m.xW)(P.uC.isRoundedForm?"rounded-br-[10px] ltr:rounded-tr-[10px]":"ltr:rounded-br-[0px] ltr:rounded-tr-[0px] rtl:rounded-bl-[0px] rtl:rounded-tl-[0px]","max-h-full p-3 md:p-5"),children:[(0,r.jsx)(el.A,{data:e.hotelCard}),e.hotelCard.distanceToHotel&&(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(v.gc2,{icon:v.SLY,className:"text-primaryGreyFont w-4"}),(0,r.jsx)("p",{className:"text-[0.925rem] text-primaryFont font-normal leading-[120%]",children:e.hotelCard.distanceToHotel})]}),(0,r.jsxs)("div",{className:"mt-auto flex ltr:flex-row rtl:flex-row-reverse justify-between items-center",children:[(0,r.jsx)(ea.A,{reviews:e.hotelCard.reviews,reviewScore:e.hotelCard.reviewScore}),(0,r.jsxs)("div",{className:"grid ltr:justify-items-end rtl:justify-items-start",children:[(0,r.jsxs)("div",{className:"flex rtl:flex-row-reverse items-end sm:items-center gap-1 sm:gap-2",children:[(0,r.jsx)("p",{className:"text-primaryGreyFont font-normal sm:leading-[1rem] text-[0.75rem] md:text-[0.875rem]",children:l("fromPrice")}),(0,r.jsx)("div",{className:"flex ltr:items-end rtl:items-start ltr:sm:items-center rtl:sm:items-center flex-col sm:gap-1 sm:flex-row",children:(0,r.jsx)("span",{className:"font-medium text-primaryFont text-[1rem] sm:text-[1.25rem]",children:t||e.hotelCard.basePriceFormatted})})]}),a&&(0,r.jsx)("p",{className:"text-primaryGreyFont font-normal text-[0.75rem] md:text-[0.875rem]",children:a})]})]})]})]})},e.id)})})},en=({initialRequest:e,hotelData:t})=>{let{tHotels:s}=(0,U.zg)(),{startNewSearch:i,appendHotels:o,hasFinalResults:c,metadata:x,allHotels:p,setNotFound:u}=(0,U.e4)(),[h,g]=(0,l.useState)({dates:e.dates,guests:e.guests,roomPlan:e.roomPlan}),j=(0,m.q2)(es.yt);(0,m.uV)(()=>{i();let e=(0,es.Mc)(j);g({dates:e.dates,guests:e.guests,roomPlan:e.roomPlan})},[j]);let{error:v}=(0,d.BF)({searchRequest:h,hotelId:t.id},()=>{},e=>{e.messageType==f.ep.HotelResult?e.hotelResult&&o(e.hotelResult):e.messageType===f.ep.NotFound?u():e.messageType===f.ep.YesterdayHotelsNotFound&&u()}),y=c?[]:Array(10).fill(null);return c&&0===p.length||v?null:(0,r.jsxs)("div",{className:"mt-8",children:[(0,r.jsx)("h2",{className:n.rc,children:s("partnerHotelsNearbyTitle")}),(0,r.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4 mt-8",children:c?(0,r.jsx)(ei,{hotelData:p,metaInformation:x}):y.map((e,t)=>(0,r.jsx)(a.Wy,{},t))})]})};var eo=s(59067),em=s(54587),ed=s.n(em),ec=s(94952);let ex=({netPrice:e,placement:t,maxPrice:s,hideOurPrice:l,maxBarWidth:a,variantId:i})=>{let o=(0,N.kc)(),d=(0,eo.nR)(),x=(0,n.WV)();if(!d||!d.externalSupplier)return null;let p=(0,c.Lo)(x,d);if(!l&&e&&p.netPrice.amount<=e.amount)return null;let u=(0,ec.VU)(d.externalSupplier.url,t,i);return(0,r.jsx)(q.A,{href:u,target:"_blank",onClick:()=>{d.externalSupplier&&(0,g.sx)("affiliate_rates_click",{supplier:d.externalSupplier.name,placement:f.Il[t],...i&&{variant:i}})},className:"group",children:(0,r.jsx)("div",{children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("div",{className:"min-w-[95px] xs:min-w-[112px]",children:(0,r.jsx)(ed(),{src:d.externalSupplier.logo,alt:d.externalSupplier.name,width:62,height:20,className:"w-auto h-4 xs:h-[18px]",unoptimized:!0})}),(0,r.jsx)("div",{className:"flex-grow relative h-[26px]",children:(0,r.jsx)("div",{className:(0,m.xW)("absolute inset-0 transition-all min-w-[100px] md:min-w-[150px] duration-300 ",l?"bg-primary group-hover:bg-primaryHover":"bg-mediumGrey/40 group-hover:bg-mediumGrey/50",P.uC.noHotelSearch?"":"rounded-md"),style:{width:`${p.allInclusivePrice.amount/s*100}%`,...a&&{maxWidth:`${a}%`}},children:(0,r.jsx)("div",{className:"absolute right-2 inset-y-0 flex items-center text-[15px] md:text-[1rem] font-semibold text-white",children:(0,n.up)(o,p.allInclusivePrice)})})}),(0,r.jsx)(v.gc2,{icon:v.Ju_,className:"text-primaryGreyFont group-hover:text-primaryFont h-3 w-3 pl-2"})]})})})};var ep=s(88429);let eu=({link:e,placement:t,variantId:s,hideOurPrice:l})=>{let{tHotels:a}=(0,U.zg)(),i=s?`${s}.so`:"so",n=e.name.toLowerCase().includes("booking"),o=(0,ec.VU)(e.url,t,i);return(0,r.jsx)(q.A,{href:o,target:"_blank",onClick:()=>{(0,g.sx)("affiliate_rates_click",{supplier:e.name,placement:f.Il[t],variant:i})},className:"group",children:(0,r.jsx)("div",{children:(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("div",{className:"min-w-[95px] xs:min-w-[112px]",children:n?(0,r.jsx)(ed(),{priority:!0,src:ep.A,alt:"Booking Logo",width:106,height:18,className:"w-auto h-[14px] xs:h-4",unoptimized:!0}):(0,r.jsx)(ed(),{src:e.logo,alt:e.name,width:62,height:20,className:"w-auto h-4 xs:h-[18px]",unoptimized:!0})}),(0,r.jsx)("div",{className:"flex-grow relative h-[26px]",children:(0,r.jsx)("div",{className:(0,m.xW)("absolute inset-0 transition-all min-w-[100px] md:min-w-[150px] duration-300",l?"bg-primary group-hover:bg-primaryHover":"bg-mediumGrey/40 group-hover:bg-mediumGrey/50",P.uC.noHotelSearch?"":"rounded-md"),style:{width:"100%"},children:(0,r.jsx)("div",{className:"absolute right-2 inset-y-0 flex items-center text-[15px] md:text-[1rem] font-semibold text-white",children:a("checkPriceLabel")})})}),(0,r.jsx)(v.gc2,{icon:v.Ju_,className:"text-primaryGreyFont group-hover:text-primaryFont h-3 w-3 pl-2"})]})})})},eh=e=>{let{validRoomTypes:t,netPrice:s,maxPrice:l,ourPricePercentage:a,placement:i,coverImage:o,variantId:d,checkPriceLinks:x,hideOurPrice:p=!1}=e,u=(0,N.kc)(),{tHotels:h}=(0,U.zg)(),y=(0,n.WV)(),b=p?3:2;(0,m.uV)(()=>{(0,g.sx)("affiliate_rates_list",{placement:f.Il[i],...d&&{variant:d}})},[]);let w=b-t.length,R=x.slice(0,w);return(0,r.jsxs)("div",{className:(0,m.xW)("relative flex justify-center p-3 xs:p-4 overflow-hidden",P.uC.noHotelSearch?"":"rounded-lg"),children:[o&&(0,r.jsx)(j.A,{image:o,size:{default:15,sm:100,md:80,lg:15},className:(0,m.xW)("w-full h-full absolute inset-0 blur-[2px] object-cover",P.uC.noHotelSearch?"":"rounded-lg")}),(0,r.jsx)("div",{className:"absolute bg-black/30 inset-0"}),(0,r.jsxs)("div",{className:(0,m.xW)("z-[1] bg-white/90 h-full grid grid-cols-1 sm:grid-cols-[auto,minmax(270px,448px)] max-sm:w-full backdrop-blur-[6px]",P.uC.noHotelSearch?"":"rounded-lg"),children:[(0,r.jsxs)("div",{className:"pt-4 pb-2 pl-4 pr-4 sm:pr-2 sm:pb-4 md:pr-4 md:pl-8 flex items-center flex-col justify-center gap-2",children:[(0,r.jsx)("h5",{className:"text-[1.375rem] leading-[120%] font-medium text-primaryFont sm:text-[1.5rem] md:text-[1.75rem]",children:h(p?"searchPartnerWebsite":"howWeStackUpVioWidget")}),(0,r.jsxs)("div",{className:(0,m.xW)("flex items-center gap-2 bg-green-50 px-3 py-1 text-green-700",P.uC.noHotelSearch?"":"rounded-full"),children:[(0,r.jsx)(v.gc2,{icon:v.Wcv,className:"h-4 w-4"}),(0,r.jsx)("span",{className:"text-sm sm:text-xs md:text-[1rem] font-medium whitespace-nowrap",children:h("gettingGreatDealVioWidget")})]})]}),(0,r.jsx)("div",{className:"pt-2 pb-4 pl-4 pr-4 sm:pl-2 sm:pt-4 md:pl-4 md:pr-8 h-full flex flex-col w-full",children:(0,r.jsxs)("div",{className:"h-full flex flex-col justify-between gap-3 sm:gap-4",children:[s&&!p&&(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("p",{className:"min-w-[95px] xs:min-w-[112px] font-medium text-primaryFont text-sm xs:text-[1rem]",children:h("ourPriceVioWidget")}),(0,r.jsx)("div",{className:"flex-grow relative h-[26px] mr-5",children:(0,r.jsx)("div",{className:(0,m.xW)("absolute inset-0 bg-primary min-w-[100px] md:min-w-[150px] max-w-[70%]",P.uC.noHotelSearch?"":"rounded-md"),style:{width:`${a}%`},children:(0,r.jsx)("div",{className:"absolute right-2 inset-y-0 flex items-center text-[15px] md:text-[1rem] text-white font-semibold",children:(0,n.up)(u,s)})})})]}),t.map((e,a)=>{var n,o;let m=(n=e,o=t[0],p?Math.floor(Math.min(...Object.values(n.roomPlans||{}).map(e=>(0,c.Lo)(y,e).allInclusivePrice.amount)))===Math.floor(Math.min(...Object.values(o.roomPlans||{}).map(e=>(0,c.Lo)(y,e).allInclusivePrice.amount)))?70:100:100);return(0,r.jsx)(eo.fE,{rate:e,children:(0,r.jsx)(ex,{roomRate:e,netPrice:s,placement:i,maxPrice:l,hideOurPrice:p,variantId:d,maxBarWidth:m})},`externalRoomRate-${a}`)}),R.map((e,t)=>(0,r.jsx)(eu,{link:e,placement:i,variantId:d,hideOurPrice:p},`checkPriceLink-${t}`))]})})]})]})},eg=({data:e,placement:t,netPrice:s,coverImage:l,className:a})=>{let i=(0,n.WV)(),o=e.roomRates.length>0,m=e.checkPriceLinks&&e.checkPriceLinks.length>0;if(!o&&!m)return null;let d=e.roomRates.filter(e=>Object.values(e.roomPlans||{}).some(e=>((0,c.Lo)(i,e),!0))).sort((e,t)=>Math.min(...Object.values(e.roomPlans||{}).map(e=>(0,c.Lo)(i,e).allInclusivePrice.amount))-Math.min(...Object.values(t.roomPlans||{}).map(e=>(0,c.Lo)(i,e).allInclusivePrice.amount))).slice(0,3);if(d.length<1&&!m)return null;let x=Math.max(s?.amount||0,...d.flatMap(e=>Object.values(e.roomPlans||{}).map(e=>(0,c.Lo)(i,e).allInclusivePrice.amount))),p=s?s.amount/x*100:0;return(0,r.jsx)("div",{className:a,children:(0,r.jsx)(eh,{validRoomTypes:d,netPrice:void 0,maxPrice:x,ourPricePercentage:p,placement:t,hideOurPrice:!0,coverImage:l,checkPriceLinks:e.checkPriceLinks||[]})})};var ef=s(24927);let ej=({className:e,coverImage:t})=>{let{salesContact:s,hotelData:l}=(0,S.Tj)(),{tHotels:a}=(0,U.zg)();if(!s||!l)return null;let i=t||l.listingDescription.photos[0].image;return(0,r.jsx)("div",{className:e,children:(0,r.jsxs)("div",{className:"relative flex flex-col items-center p-3 sm:p-4",children:[i&&(0,r.jsx)(j.A,{image:i,size:{default:15,sm:100,md:80,lg:15},className:(0,m.xW)("w-full h-full absolute inset-0 blur-[2px] object-cover",P.uC.noHotelSearch?"":"rounded-lg")}),(0,r.jsx)("div",{className:"absolute bg-black/30 inset-0"}),(0,r.jsxs)(q.A,{href:`tel:${s.plainPhoneNumber}`,onClick:()=>{(0,ef.K)("hotelPageRooms")},className:(0,m.xW)("w-full max-w-[585px] flex flex-col items-center px-3 xs:px-6 sm:px-8 py-4 z-[1] bg-white/90 transition-all duration-300 group",P.uC.noHotelSearch?"":"rounded-lg"),children:[(0,r.jsx)("p",{className:"text-[1rem]text-primaryFont mb-2",children:a("needAssistanceForBooking")}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:(0,m.xW)("flex items-center justify-center w-11 h-11 rounded-full bg-primary group-hover:scale-110 transition-transform"),children:(0,r.jsx)(v.gc2,{icon:v.KKr,className:"text-white w-5 h-5"})}),(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 font-medium text-primaryFont text-[1rem] sm:text-[1.25rem]",children:[(0,r.jsxs)("span",{children:[a("call").toUpperCase(),":"]}),(0,r.jsx)("span",{className:"group-hover:underline",children:s.phoneNumber})]}),(0,r.jsx)("span",{className:"text-[1rem] text-primaryFont",children:a("callToReserveYourRoom")})]})]})]})]})})},ev=({data:e,errorMessage:t,searchRequest:s,hotelData:i,pageAvailability:o,isShouldSaveHistory:d,externalOfferPlacement:x,placementVioWidget:p,forceShowPriceDetails:j})=>{let[v,y]=(0,m.ID)(e.length>0?e[0]:null),[b,N]=(0,m.ID)(!1),{hideState:R}=(0,et.U9)("roomAvailability"),C=o.featuredHiddenPlan?4:5,k=o.featuredHiddenPlan?11:12,S=(0,n.Qf)(n.mN.lg),[T,H]=(0,l.useState)(S?C:k),{tHotels:D}=(0,a.zg)(),W=(0,Y.Bx)(),I=(0,A.q)(),L=(0,h.useRouter)(),M=(0,u.GE)(),{query:O}=L,G=O.error,z=()=>{N(!0)};(0,$.Kj)({hotel:i,searchRequest:s,room:v},d);let U=(0,E.A)(i.id,s),q=e=>{y(e)};(0,m.uV)(()=>{e.length>0&&H(S?C:k)},[S]),(0,m.uV)(()=>{0!==e.length||t||o.featuredHiddenPlan||(0,g.sx)("sold_out",{})},[e,t,o.featuredHiddenPlan]);let K=()=>{s.guests&&s.dates&&M.performAction(s.dates,{...s.guests,rooms:s.guests.rooms+1})};if((0,m.uV)(()=>{if(e.length>0){let t=e.every(e=>e.noInventoryMessage&&(e.noInventoryMessage.type===f.O8.NotEnoughRooms||e.noInventoryMessage.type===f.O8.NotEnoughSpace)),r=s.guests?.rooms||1;t&&re.room.smokingAllowed),es=o.featuredHiddenPlan?.type==f.Ae.ShowPrice,er=i.listingDescription&&i.listingDescription.photos&&i.listingDescription.photos.length>1,el=er?i.listingDescription.photos[1].image:i.commonDescription.coverImage;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{id:"roomAvailability",className:"grid justify-between grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3",children:[(0,r.jsx)(B.A,{jsonLd:(0,a.EL)(o.hotelPlansJsonLd,i.address)}),(0,r.jsx)(ej,{coverImage:er?void 0:el,className:(0,m.xW)(o.featuredHiddenPlan?"row-start-4 sm:row-start-2":"row-start-3 sm:row-start-2","col-span-1 sm:col-span-2 md:col-span-3")}),W&&(W.roomRates.length>0||W.checkPriceLinks.length>0)&&(0,r.jsx)(eg,{data:W,coverImage:el,placement:p||f.Il.HotelVioPriceCard,netPrice:I.cheapestRoomPrice,className:(0,m.xW)(o.featuredHiddenPlan?"row-start-6 sm:row-start-4":"row-start-5 sm:row-start-4","col-span-1 sm:col-span-2 md:col-span-3")}),o.featuredHiddenPlan&&(0,r.jsx)(a.fE,{rate:o.featuredHiddenRoomType?.roomRate,children:(0,r.jsx)(F,{roomType:o.featuredHiddenRoomType,featuredHiddenPlan:o.featuredHiddenPlan,hiddenPlan:o.featuredHiddenPlan,openSignInModal:z})}),e.slice(0,P.uC.showRoomsPagination?T:1e3).map((t,s)=>{let l=e.length>3&&!e[0].featured&&0===s&&!P.uC.noHotelSearch&&!e[0].isRunOfHouse;return(0,r.jsxs)(a.fE,{rate:t.roomRate,children:[t.needsSignIn&&(0,r.jsx)(F,{roomType:t,normalPlan:t.hiddenNormalPlan,openSignInModal:z}),!t.needsSignIn&&(0,r.jsx)(V,{roomType:t,shouldShowSmokingWidget:J,hotelData:i,isShouldUpdateCheapestPrice:e[0].featured||e[0].isRunOfHouse?1===s:0===s,isShouldUpdatePrice:0===s&&!es,isRecommended:l&&!o.featuredHiddenPlan,onSelectedRoom:q,id:o.featuredHiddenPlan?`room-${s+2}`:`room-${s+1}`,forceShowPriceDetails:j})]},t.room.id)}),e.length>0&&R!==et.XL.HIDDEN&&(0,r.jsx)(Z.A,{id:"roomAvailability",priority:ee.Kr.AVAILABILITY,children:(0,r.jsx)(_,{searchRequest:s,className:"px-3 py-2",data:es&&o.featuredHiddenRoomType?o.featuredHiddenRoomType:e[0],hiddenPlan:es?o.featuredHiddenPlan?.plan:void 0,openSignInModal:z})}),(0,r.jsx)(w.A,{placement:"featured-deal",open:b,handleClose:()=>{N(!1)},error:G})]}),P.uC.showRoomsPagination&&T{H(e=>e+(S?5:12))},children:D("showMoreRooms")})}),W&&W.roomRates.length>0&&e.length>11&&(0,r.jsx)(eg,{data:W,coverImage:i.commonDescription.coverImage,placement:p||f.Il.HotelVioPriceCard,netPrice:I.cheapestRoomPrice,className:"mt-4"})]})};var ey=s(63007),eb=s(43021),eN=s(43423),ew=s(84197);let eP={},eR=e=>{let{hotelData:t,hideDatePicker:s,checkoutValidRequest:h,onResults:g,isShouldSaveHistory:f,externalOfferPlacement:j,placementVioWidget:v,showShareButton:y,forceShowPriceDetails:b}=e,N=(0,A.q)(),{tCommon:w}=(0,n.FC)(),[R,C]=(0,l.useState)(0),[k,S]=(0,l.useState)(!1),F=(0,c.Y3)(),T=(0,u.W0)();T||(T=eP);let{isLoading:H,error:D,data:W,retry:I}=(0,d.Z5)({hotelId:t.id,searchRequest:T,checkoutValidRequest:h});(0,l.useEffect)(()=>{W?.roomTypes&&!k&&W.roomTypes.length>0&&(S(!0),(0,x.zM)(t,W))},[k,W,t]);let L=W?.roomTypes?.length;(0,l.useEffect)(()=>{void 0!==L&&g&&g(L)},[L,g]),(0,m.uV)(()=>{D||W?.error?Rc.kd?W?.error:void 0;D&&R>c.kd&&(M=M||w("errorCantReachServers"));let O=W?.onHold||H;(0,m.uV)(()=>{!O&&(W?.roomTypes||D)?W?.roomTypes&&!H&&N.setLoading(!1):N.setLoading(!0)},[W?.roomTypes,D,H,O]);let G=(0,u.Eb)();return((0,eb.H)(!!(W?.roomTypes&&!H)),G)?(0,r.jsx)(ey.A,{}):(0,r.jsx)(o.A,{children:(0,r.jsx)("div",{ref:F?.targetBlockRef,children:(0,r.jsxs)(i.A,{availabilityMode:!0,hideHeader:s,titleClassName:P.uC.noHotelSearch?`mt-5 mb-7 md:mb-9 ${n.Uh}`:"",showShareButton:y,children:[!s&&(0,r.jsx)(p.A,{availabilityMode:!0,className:"mb-6",id:"availability-date-picker"}),(0,r.jsx)(eN.A,{isLoading:O||!W?.roomTypes&&!D}),(O||!W?.roomTypes&&!D)&&(0,r.jsx)(a.Yy,{}),(0,r.jsxs)(r.Fragment,{children:[M&&(0,r.jsx)(ew.A,{callBack:I}),W?.roomTypes&&!H&&(0,r.jsx)(ev,{data:W.roomTypes,hotelData:t,searchRequest:T,errorMessage:M,pageAvailability:W,isShouldSaveHistory:f,externalOfferPlacement:j,placementVioWidget:v,forceShowPriceDetails:b})]})]})})})}},72454:(e,t,s)=>{s.d(t,{A:()=>m});var r=s(37876);s(14232);var l=s(70654),a=s(78442),i=s(35572),n=s(26630),o=s(51991);let m=({data:e,cityDestination:t})=>{let{stars:s,title:m}=e,d=o.uC.noHotelSearch?"after:from-[rgba(242,245,246,1)] after:to-[rgba(242,245,246,0)]":"after:from-[rgba(255,255,255,1)] after:to-[rgba(255,255,255,0)]";return(0,r.jsx)("div",{className:"grid grid-cols-[6fr,auto]",children:(0,r.jsxs)("div",{className:"overflow-hidden",children:[(0,r.jsxs)("div",{style:{direction:"ltr"},className:"flex ltr:flex-col gap-2 mb-1 ltr:sm:flex-row sm:items-center rtl:flex-col rtl:items-end rtl:sm:items-center rtl:sm:flex-row-reverse",children:[(0,r.jsx)("h3",{style:{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical"},className:(0,n.xW)("text-[1rem] leading-[120%] font-medium text-primaryFont overflow-hidden m-0 md:text-[1.125rem] text-ellipsis"),children:m}),s?(0,r.jsx)(i.A,{stars:s,cssProps:"inherit row-span-auto sm:row-span-2 md:row-auto"}):null]}),(0,r.jsx)(r.Fragment,{children:t&&(0,r.jsx)(l.Qi,{className:"mb-1",cityDestination:t})}),(0,r.jsx)(a.A,{featuredAmenities:e.featuredAmenities,cssProps:`overflow-hidden text-ellipsis whitespace-nowrap relative after:content-[''] after:absolute after:bottom-0 after:w-6 after:h-[30px] ltr:after:right-0 ltr:after:bg-gradient-to-l rtl:after:left-0 rtl:after:bg-gradient-to-r ${d}`,style:{direction:"ltr"}})]})})}}}]);